Systems and methods for providing a personalized visual display multiple products

ABSTRACT

Systems and methods for providing a personalized visual display of multiple products are provided. A described method includes receiving product information for a set of multiple products and user information for a particular user or user device and selecting a plurality of the multiple products estimated to be most relevant to the particular user or user device based on the product information for the set of multiple products and the user information for the particular user or user device. The method further includes generating a personalized visual display of the selected products including product images for multiple of the selected products. All of the products in the personalized visual display may be associated with the same content provider. The method further includes causing the personalized visual display to be presented via the user device.

RELATED APPLICATIONS

The present application claims the benefit of priority under 35 U.S.C. §120 as a continuation of U.S. patent application Ser. No. 14/035,062entitled “SYSTEMS AND METHODS FOR PROVIDING A PERSONALIZED VISUALDISPLAY OF MULTIPLE PRODUCTS”, filed on Aug. 24, 2013, which claims thebenefit of priority under 35 U.S.C. § 119 from U.S. Provisional PatentApplication Ser. No. 61/868,974 entitled “SYSTEMS AND METHODS FORPROVIDING A PERSONALIZED VISUAL DISPLAY OF MULTIPLE PRODUCTS,” filed onAug. 22, 2013, the disclosures of each of which are hereby incorporatedby reference in their entirety for all purposes.

BACKGROUND

In a computerized content delivery network, electronic content items aretypically distributed from a content server to a user device. A contentprovider (e.g., an advertiser, a retailer, a business owner, etc.) maysupply the content server with a variety of different content itemsrelating to many different products or services offered by the contentprovider. The content server is typically responsible for selecting aparticular content item to deliver to the user device (e.g., in responseto a request for content from the user device). It is often difficultand challenging to predict which content item will be most effective(e.g., to induce a sale or other conversion) or most relevant for aparticular user or user device.

SUMMARY

One implementation of the present disclosure is a method for generatinga personalized visual display of multiple products. The method includesreceiving, at a content server, product information for a set ofmultiple products and user information for a particular user or userdevice. The method further includes selecting, by the content server, aplurality of products from the set of multiple products according toproduct selection criteria. The product selection criteria includescriteria for selecting products which are most relevant to theparticular user or user device based on the product information for theset of multiple products and the user information for the particularuser or user device. The method further includes generating, by thecontent server, a personalized visual display of the selected products.The personalized visual display includes product images for multiple ofthe selected products. A plurality of the product images may bedisplayed concurrently in the personalized visual display. The methodfurther includes causing the personalized visual display to be presentedvia the user device. In some implementations, all of the products in theset of multiple products are associated with a same content provider.

In some implementations, the method further includes causing detailedproduct information to be presented via the user device. The detailedproduct information may include at least one of: additional images,product specifications, price, availability, and purchasing information.In some implementations, the detailed product information is presentedin response to an interaction with one of the product images in thepersonalized visual display.

In some implementations, generating the personalized visual displayincludes determining an arrangement for the personalized visual displayand generating the personalized visual display according to thedetermined arrangement. The arrangement may include at least one of:image sizes and image positions for the images of the selected products.In some implementations, determining the arrangement for thepersonalized visual display includes identifying arrangement criteriacomprising criteria for arranging the product images based on which ofthe selected products are most relevant to the particular user or userdevice based on the product information for the set of multiple productsand the user information for the particular user or user device, anddetermining the arrangement according to the identified arrangementcriteria. In some implementations, the personalized visual display has afixed display size. Determining the arrangement for the personalizedvisual display may be based on the fixed display size.

In some implementations, the personalized visual display has a variabledisplay size based on at least one of: a number of products in the setof multiple products, a number of products in the selected plurality ofproducts, and a display size of the product images in the personalizedvisual display.

In some implementations, the personalized visual display has a firstdisplay size and is presented within a display unit having a seconddisplay size smaller than the first display size. The display unit maybe configured to present a portion of the personalized visual displayand to allow adjusting the portion of the personalized visual displayvisible in the display unit.

In some implementations, the method further includes delivering acontent item to the user device and detecting an interaction with thedelivered content item. At least one of: selecting the plurality of themultiple products, generating the personalized visual display, andcausing the personalized display to be presented may be performed inresponse to detecting an interaction with the delivered content item. Insome implementations, the delivered content item has a first displaysize and the personalized visual display has a second display sizelarger than the first display size.

In some implementations, the method further includes identifying acontent provider associated with the delivered content item. All of theproducts in the set of multiple products may be associated with theidentified content provider.

In some implementations, the personalized visual display includes one ormore supplemental items displayed concurrently with the plurality ofproduct images. In some implementations, the method further includesdetermining an arrangement of the one or more supplemental items and theplurality of product images for the personalized visual display. Thepersonalized visual display may be generated according to the determinedarrangement. In some implementations, the supplemental items include atleast one of: text associated with one or more of the plurality ofproduct images, a map, and a coupon.

Another implementation of the present disclosure is a system forgenerating a personalized visual display of multiple products. Thesystem includes a communications interface configured to receive productinformation for a set of multiple products and user information for aparticular user or user device and a processing circuit configured toselect a plurality of products from the set of multiple productsaccording to product selection criteria. The product selection criteriaincludes criteria for selecting products which are most relevant to theparticular user or user device based on the product information for theset of multiple products and the user-specific information for theparticular user or user device. The processing circuit is furtherconfigured to generate a personalized visual display of the selectedproducts. The personalized visual display includes product images formultiple of the selected products. A plurality of the product images maybe displayed concurrently in the personalized visual display. Theprocessing circuit is further configured to cause the personalizedvisual display to be presented via the user device. In someimplementations, all of the products in the set of multiple products areassociated with a same content provider.

In some implementations, the processing circuit is further configured tocause detailed product information to be presented via the user device.The detailed product information may include at least one of: additionalimages, product specifications, price, availability, and purchasinginformation. In some implementations, the detailed product informationis presented in response to an interaction with one of the productimages in the personalized visual display.

In some implementations, generating the personalized visual displayincludes determining an arrangement for the personalized visual displayand generating the personalized visual display according to thedetermined arrangement. The arrangement may include at least one of:image sizes and image positions for the images of the selected products.In some implementations, determining the arrangement for thepersonalized visual display includes identifying arrangement criteriacomprising criteria for arranging the product images based on which ofthe selected products are most relevant to the particular user or userdevice based on the product information for the set of multiple productsand the user information for the particular user or user device, anddetermining the arrangement according to the identified arrangementcriteria. In some implementations, the personalized visual display has afixed display size. Determining the arrangement for the personalizedvisual display may be based on the fixed display size.

In some implementations, the personalized visual display has a variabledisplay size based on at least one of: a number of products in the setof multiple products, a number of products in the selected plurality ofproducts, and a display size of the product images in the personalizedvisual display.

In some implementations, the personalized visual display has a firstdisplay size and is presented within a display unit having a seconddisplay size smaller than the first display size. The display unit maybe configured to present a portion of the personalized visual displayand to allow adjusting the portion of the personalized visual displayvisible in the display unit.

In some implementations, the processing circuit is further configured todeliver a content item to the user device and to detect an interactionwith the delivered content item. At least one of: selecting theplurality of the multiple products, generating the personalized visualdisplay, and causing the personalized display to be presented may beperformed in response to detecting an interaction with the deliveredcontent item. In some implementations, the delivered content item has afirst display size and the personalized visual display has a seconddisplay size larger than the first display size.

In some implementations, the processing circuit is further configured toidentify a content provider associated with the delivered content item.All of the products in the set of multiple products may be associatedwith the identified content provider.

In some implementations, the personalized visual display includes one ormore supplemental items displayed concurrently with the plurality ofproduct images. In some implementations, the processing circuit isfurther configured to determine an arrangement of the one or moresupplemental items and the plurality of product images for thepersonalized visual display. The personalized visual display may begenerated according to the determined arrangement. In someimplementations, the supplemental items include at least one of: textassociated with one or more of the plurality of product images, a map,and a coupon.

Those skilled in the art will appreciate that the summary isillustrative only and is not intended to be in any way limiting. Otheraspects, inventive features, and advantages of the devices and/orprocesses described herein, as defined solely by the claims, will becomeapparent in the detailed description set forth herein and taken inconjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a computer system including a network,resources, content providers, user devices, data storage devices, and acontent server, according to a described implementation.

FIG. 2 is a block diagram illustrating the content server of FIG. 1 ingreater detail, according to a described implementation.

FIG. 3 is a drawing of a browser window including a content item thathas been previously delivered to a user device, according to a describedimplementation.

FIG. 4 is a drawing of a personalized visual display which may bepresented in response to an interaction with the previously-deliveredcontent item of FIG. 3, the personalized visual display includingproduct images for personalized selection of products, according to adescribed implementation.

FIG. 5 is a drawing of a product details portion of the personalizedvisual display of FIG. 4, the product details portion including detailedproduct information for a product featured in the personalized visualdisplay and which may be presented in response to an interaction withone of the product images in the personalized visual display, accordingto a described implementation.

FIG. 6 is a flowchart of a process for providing a personalized visualdisplay of multiple products, according to a described implementation.

DETAILED DESCRIPTION

Referring generally to the FIGURES, systems and methods for providing apersonalized visual display of multiple products are shown, according toseveral described implementations. Conventionally, electronic contentitems (e.g., advertisements, product images, etc.) have been presentedindividually in separate content slots or display units. The systems andmethods described herein may be used to generate a visual display ofmultiple products (e.g., multiple product images, multiple images ofdifferent products, etc.) and to present the visual display to a userwithin a single display unit. In some implementations, the plurality ofproduct images may all be images associated with a single contentprovider. The systems and methods of the present disclosure may be usedto present a user with a portfolio of products (e.g., a collage, amosaic, a catalog, etc.) offered by a content provider without knowingexactly which specific products will most interest the user. Theportfolio of products presented in the visual display may be moreeffective than a traditional content item (e.g., a content itemfeaturing a single product) in inducing a sale or other conversion event(e.g., a click, a page view, etc.).

The products featured in the portfolio of products may be personalizedfor a particular user. For example, the portfolio of products mayinclude multiple products which are estimated to be most relevant orinteresting to the particular user (e.g., products having the highestpotential to induce a sale or conversion, etc.). Several inputs (e.g.,user-specific information, contextual information, keyword information,etc.) may be used to automatically generate lists of products that arelikely to be most relevant or interesting to the user. In someimplementations, the arrangement of products featured in the visualdisplay (e.g., display sizes, display positions, etc.) may also bepersonalized. The concurrent visual display of multiple products offeredby a single content provider may allow the content provider to showcasea personalized portfolio of many of their products, thereby providingusers with a visual shopping experience.

Referring now to FIG. 1, a block diagram of a computer system 100 isshown, according to a described implementation. In brief overview,computer system 100 is shown to include a network 102, resources 104,content providers 106, user devices 108, data storage devices 110, and acontent server 112. Computer system 100 may facilitate communicationbetween resources 104, content providers 106, user devices 108, andcontent server 112. For example, user devices 108 may request andreceive resource content (e.g., web pages, documents, etc.) fromresources 104 via network 102. In some implementations, resources 104may include content item slots for presenting third-party content itemsfrom content providers 106. Content server 112 may receive a request fora content item from user devices 108, select an eligible content item inresponse to the request, and distribute the content item to user devices108 via network 102. The content item may be selected from a database ofpotential content items created or otherwise provided by contentproviders 106.

Still referring to FIG. 1, and in greater detail, computer system 100 isshown to include a network 102. Network 102 may be a local area network(LAN), a wide area network (WAN), a cellular network, a satellitenetwork, a radio network, the Internet, or any other type of datanetwork or combination thereof. Network 102 may include any number ofcomputing devices (e.g., computers, servers, routers, network switches,etc.) configured to transmit, receive, or relay data. Network 102 mayfurther include any number of hardwired and/or wireless connections. Forexample, user devices 108 may communicate wirelessly (e.g., via WiFi,cellular, radio, etc.) with a transceiver that is hardwired (e.g., via afiber optic cable, a CAT5 cable, etc.) to a computing device of network102.

Still referring to FIG. 1, computer system 100 is shown to includeresources 104. Resources 104 may include any type of information or datastructure that can be provided over network 102. In someimplementations, resources 104 may be identified by a resource addressassociated with each resource (e.g., a uniform resource locator (URL)).Resources 104 may include web pages (e.g., HTML web pages, PHP webpages, etc.), word processing documents, portable document format (PDF)documents, images, video, programming elements, interactive content,streaming video/audio sources, or other types of electronic information.Resources 104 may include content (e.g., words, phrases, images, sounds,etc.) having embedded information (e.g., meta-information embedded inhyperlinks) and/or embedded instructions. Embedded instructions mayinclude computer-readable instructions (e.g., software code,JavaScript®, ECMAScript®, etc.) which are executed by user devices 108(e.g., by a web browser running on user devices 108).

In some implementations, resources 104 may include content slots forpresenting third-party content items. For example, resources 104 mayinclude one or more inline frame elements (e.g., HTML “iframe” elements,<iframe> . . . </iframe>) for presenting third-party content items fromcontent providers 106. An inline frame can be the “target” frame forlinks defined by other elements and can be selected by user agents(e.g., user devices 108, a web browser running on user devices 108,etc.) as the focus for printing, viewing its source, or other forms ofuser interaction. The content slots may cause user devices 108 torequest third-party content items from content server 112 in response toviewing first-party resource content from resources 104.

Still referring to FIG. 1, computer system 100 is shown to includecontent providers 106. Content providers 106 may include one or moreelectronic devices representing advertisers, resource operators,business owners, or other entities using the services provided bycontent server 112. Content providers 106 may communicate productinformation for a set of multiple products to content server 112. Theproduct information may include product images (e.g., thumbnail images,low/medium/high resolution product images, alternative product images,etc.), product details (e.g., product specifications, price,availability, descriptive text, purchasing information, etc.), and/orother information associated with the set or sets of multiple products.

In some implementations, the set of multiple products may include onlyproducts associated with a single content provider (e.g., offered forsale by the content provider, manufactured by the content provider,distributed by the content provider, promoted or advertised by thecontent provider, etc.). For example, if the content provider is anonline retailer of computer electronics, each of the products in the setof products associated with the content provider may be a different itemof computer electronics (e.g., a CPU, a motherboard, RAM, etc.) sold bythe content provider. As another example, if the content provider is aclothing retailer, each of the products in the set of productsassociated with the content provider may be a different article ofclothing (e.g., shirts, pants, sweaters, etc.) sold by the contentprovider. Each of content providers 106 may communicate productinformation associated with a different set of products to contentserver 112.

In some implementations, content providers 106 produce content items(e.g., an ad creative) for presentation to user devices 108. Contentproviders may submit multiple content items to content server 112 (e.g.,via a data feed). In other implementations, content providers 106 submita content generation request to content server 112 and content server112 automatically generates content items in response to the request.The content items may be stored in one or more data storage deviceslocal to content providers 106, within content server 112, or in datastorage devices 110.

In some implementations, the content items are advertisements. Theadvertisements may be display advertisements such as imageadvertisements, Flash® advertisements, video advertisements, text-basedadvertisements, or any combination thereof. In other implementations,the content items include other types of content which serve variousnon-advertising purposes. The content items may be displayed in acontent slot of resources 104 and presented (e.g., alongside otherresource content) to user devices 108.

In some implementations, content providers 106 submit campaignparameters to content server 112. The campaign parameters may be used tocontrol the distribution of content items to user devices 108. Thecampaign parameters may include keywords associated with the contentitems, bids corresponding to the keywords, a content distributionbudget, geographic limiters, or other criteria used by content server112 to determine when a content item may be presented to user devices108.

Content providers 106 may access content server 112 to monitor theperformance of the content items distributed according to theestablished campaign parameters. For example, content providers 106 mayaccess content server 112 to review one or more behavior metricsassociated with a content item or set of content items. The behaviormetrics may describe the interactions between user devices 108 withrespect to a distributed content item or set of content items (e.g.,number of impressions, number of clicks, number of conversions, anamount spent, etc.).

Still referring to FIG. 1, computer system 100 is shown to include userdevices 108. User devices 108 may include any number and/or type ofuser-operable electronic devices. For example, user devices 108 mayinclude desktop computers, laptop computers, smart phones, tablets,mobile communication devices, remote workstations, client terminals,entertainment consoles, or any other devices capable of interacting withthe other components of computer system 100 (e.g., via a communicationsinterface). For example, user devices 108 may be capable of receivingresource content from resources 104 and/or third-party content itemsfrom content providers 106 or content server 112. User devices 108 mayinclude mobile devices or non-mobile devices.

In some implementations, user devices 108 include an application (e.g.,a web browser, a resource renderer, etc.) for converting electroniccontent into a user-comprehensible format (e.g., visual, aural,graphical, etc.). User devices 108 may include a user interface element(e.g., an electronic display, a speaker, a keyboard, a mouse, amicrophone, a printer, etc.) for presenting content to a user, receivinguser input, or facilitating user interaction with electronic content(e.g., clicking on a content item, hovering over a content item, etc.).User devices 108 may function as a user agent for allowing a user toview HTML encoded content. User devices 108 may include a processorcapable of processing embedded information (e.g., meta informationembedded in hyperlinks, etc.) and executing embedded instructions.Embedded instructions may include computer-readable instructions (e.g.,software code, JavaScript®, ECMAScript®, etc.) associated with a contentslot within which a third-party content item is presented.

In some implementations, user devices 108 may be capable of detecting aninteraction with a distributed content item. An interaction with acontent item may include displaying the content item, hovering over thecontent item, clicking on the content item, viewing source informationfor the content item, or any other type of interaction between userdevices 108 and a content item. Interaction with a content item does notrequire explicit action by a user with respect to a particular contentitem. In some implementations, an impression (e.g., displaying orpresenting the content item) may qualify as an interaction. The criteriafor defining which user actions (e.g., active or passive) qualify as aninteraction may be determined on an individual basis (e.g., for eachcontent item), by content providers 106, or by content server 112.

User devices 108 may be configured to execute computer-readableinstructions (e.g., software code, Javascript®, ECMAScript®, etc.) inresponse to a detected interaction with a content item. Thecomputer-readable instructions may be included in a distributed contentitem or otherwise provided to user devices 108. In some implementations,the computer-readable instructions cause user devices 108 to present apersonalized visual display in response to a detected interaction with acontent item. The personalized visual display may include multipleproduct images associated with a single content provider 106. Themultiple product images may be arranged in a collage, mosaic, or othervisual presentation format such that multiple products may be presentedconcurrently to user devices 108. The computer-readable instructions mayfurther cause user devices 108 to present detailed product informationfor a particular product (e.g., product specifications, availability,price, additional or alternate product images, purchasing information,etc.) in response to a detected interaction with the associated productimage (e.g., the product image associated with the particular product)in the personalized visual display.

Still referring to FIG. 1, computer system 100 is shown to include datastorage devices 110. Data storage devices 110 may be any type of memorydevice capable of storing profile data, content item data, accountingdata, or any other type of data used by content server 112. Data storagedevices 110 may include any type of non-volatile memory, media, ormemory devices. For example, data storage devices 110 may includesemiconductor memory devices (e.g., EPROM, EEPROM, flash memory devices,etc.) magnetic disks (e.g., internal hard disks, removable disks, etc.),magneto-optical disks, and/or CD-ROM and DVD-ROM disks. In someimplementations, data storage devices 110 may be local to content server112, or content providers 106. In other implementations, data storagedevices 110 may be remote data storage devices connected with contentserver 112 via network 102.

Data storage devices 110 may store product information associated with aset of multiple products. The product information may include productimages (e.g., thumbnail images, low/medium/high resolution productimages, alternative product images, etc.), product details (e.g.,product specifications, price, availability, descriptive text,purchasing information, etc.), and/or other information associated withthe set of multiple products. In some implementations, the set ofmultiple products may include only products associated with a singlecontent provider. In some implementations, the product information maybe received (e.g., via a data feed) from content providers 106 and/orcontent server 112.

Data storage devices 110 may store user information associated with userdevices 108. User information may include, for example, user-specificinformation (e.g., user demographics, user preferences, user behaviordata, user profile data, etc.), contextual information (e.g., userlocation, web page context, recent page views, etc.), keywordinformation (e.g., keywords associated with a particular web page orsearch query, etc.), and/or other information which may be used toselect products which are relevant or interesting to a particular useror user device.

For situations in which the systems discussed here collect personalinformation about users, or may make use of personal information, theusers may be provided with an opportunity to control whether programs orfeatures collect user information (e.g., information about a user'ssocial network, social actions or activities, profession, a user'spreferences, or a user's current location), or to control whether and/orhow to receive content from the content server that may be more relevantto the user. In addition, certain data may be treated (e.g., by contentserver 114) in one or more ways before it is stored or used, so thatpersonally identifiable information is removed. For example, a user'sidentity may be treated so that no personally identifiable informationcan be determined for the user, or a user's geographic location may begeneralized where location information is obtained (such as to a city,ZIP code, or state level), so that a particular location of a usercannot be determined. Thus, a user may have control over how informationis collected (e.g., by an application, by user devices 108, etc.) andused by content server 112.

In some implementations, data storage devices 110 may be part of a datastorage server or system capable of receiving and responding to requestsfrom content server 112. For example, data storage devices 110 mayreceive requests for product information or user information fromcontent server 112 and provide the requested information to contentserver 112.

Still referring to FIG. 1, computer system 100 is shown to include acontent server 112. Content server 112 may receive product informationfor a set of multiple products from content providers 106 and/or datastorage devices 110. In some implementations, the set of multipleproducts may include products associated with a only single contentprovider. Content server 112 may select a plurality of the multipleproducts for inclusion in a personalized visual display. In someimplementations, content server 112 selects a plurality of the multipleproducts that are estimated to be most relevant or interesting to aparticular user or user device (e.g., the user device on which thepersonalized visual display is to be presented). The selected productsmay be the products that are estimated to be most likely to invoke apurchase, a conversion event, or other desirable interaction (e.g., acommercial interaction) by the user device.

Content server 112 may generate the personalized visual display (e.g.,display data representing the personalized visual display) and cause thepersonalized visual display to be presented via the particular userdevice. The personalized visual display may include multiple productimages (e.g., a plurality of product images associated with a pluralityof the selected products) which are presented concurrently via the userdevice. The concurrent presentation of multiple products (e.g., multipleproducts offered by a single content provider) may allow contentproviders 106 to showcase a personalized portfolio of many of theirproducts, thereby providing users with a visual shopping experience. Theportfolio of products presented in the visual display may be moreeffective than a traditional content item (e.g., a content itemfeaturing a single product) in inducing a sale or other conversion event(e.g., a click, a page view, etc.) from user devices 108. Content server112 is described in greater detail with reference to FIG. 2.

Referring now to FIG. 2, a detailed block diagram of content server 112is shown, according to a described implementation. Content server 112 isshown to include a communications interface 120 and a processing circuit130. Communications interface 120 may include wired or wirelessinterfaces (e.g., jacks, antennas, transmitters, receivers,transceivers, wire terminals, Ethernet ports, WiFi transceivers, etc.)for conducting data communications with local or remote devices orsystems. Communications interface 120 may allow content server 112 tocommunicate with network 102, resources 104, content providers 106, userdevices 108, and data storage devices 110. For example, communicationsinterface 120 may allow content server to receive product informationand/or user information.

Communications interface 120 may be configured to receive productinformation from content providers 106 and/or data storage devices 110.Product information may include, for example, product images (e.g.,thumbnail images, low/medium/high resolution product images, alternativeproduct images, etc.), product details (e.g., product specifications,price, availability, descriptive text, purchasing information, etc.),and/or other information associated with a set of multiple products. Insome implementations, the set of multiple products may include onlyproducts associated with a single content provider.

Communications interface 120 may be configured to receive userinformation from user devices 108 and/or data storage devices 110. Userinformation may include, for example, user-specific information (e.g.,user demographics, user preferences, user behavior data, etc.),contextual information (e.g., user location, web page context, recentpage views, etc.), keyword information (e.g., keywords associated with aparticular web page or search query, etc.), and/or other informationwhich may be used by content server 112 to select products which arerelevant or interesting to a particular user or user device (e.g.,products which are most likely to invoke a purchase or conversionevent). The product information and user information may be storedlocally (e.g., within memory 134) or remotely (e.g., within data storagedevices 110, etc.).

Still referring to FIG. 2, processing circuit 130 is shown to include aprocessor 132 and memory 134. Processor 132 may be implemented as ageneral purpose processor, an application specific integrated circuit(ASIC), one or more field programmable gate arrays (FPGAs), a CPU, aGPU, a group of processing components, or other suitable electronicprocessing components.

Memory 134 may include one or more devices (e.g., RAM, ROM, flashmemory, hard disk storage, etc.) for storing data and/or computer codefor completing and/or facilitating the various processes, layers, andmodules described in the present disclosure. Memory 134 may comprisevolatile memory or non-volatile memory. Memory 134 may include databasecomponents, object code components, script components, or any other typeof information structure for supporting the various activities andinformation structures described in the present disclosure. In someimplementations, memory 134 is communicably connected to processor 132via processing circuit 130 and includes computer code (e.g., datamodules stored in memory 134) for executing one or more processesdescribed herein. In brief overview, memory 134 is shown to include aninteraction detection module 136, a content provider identificationmodule 138, a product selection module 140, a product image selectionmodule 142, a supplemental item selection module 144, an arrangementdetermination module 146, a visual display generation module 148, and aproduct details module 150.

Still referring to FIG. 2, and in greater detail, memory 134 is shown toinclude an interaction detection module 136. Interaction detectionmodule 136 may be configured to detect an interaction (e.g., by userdevices 108) with a previously-delivered content item. Thepreviously-delivered content item may be a content item that waspreviously delivered (e.g., from content server 112 or another contentserver) to user devices 108. The previously-delivered content item maybe associated with a particular content provider.

An interaction with a content item may include displaying the contentitem, hovering over the content item, clicking on the content item,viewing source information for the content item, or any other type ofinteraction between user devices 108 and the content item. Interactionwith a content item does not require explicit action by a user withrespect to a particular content item. In some implementations, animpression (e.g., displaying or presenting the content item) may qualifyas an interaction. The criteria for defining which user actions (e.g.,active or passive) qualify as an interaction may be determined on anindividual basis (e.g., for each content item), by content providers106, or by content server 112.

Detecting an interaction with a previously-delivered content item mayinclude receiving a detection notification from user devices 108. Forexample, user devices 108 may be configured to detect an interactionwith a previously-delivered content item and report such interactions tocontent server 112. The interaction between user devices 108 and thepreviously-delivered content item may be detected by user devices 108,content server 112, and/or a separate server (e.g., an accountingserver, a redirect server, etc.) configured to receive indications ofinteractions between user devices 108 and previously-delivered contentitems (e.g., redirect requests, ping requests, etc.). Detectioninteraction module 136 may be configured to receive indications ofinteractions between user devices 108 and previously-delivered contentitems and detect an interaction based on the interaction indications. Insome implementations, an interaction between user devices 108 and apreviously-delivered content item triggers additional processing stepsperformed by memory modules 138-150.

Still referring to FIG. 2, memory 134 is shown to include a contentprovider identification module 138. Content provider identificationmodule 138 may be configured to identify a particular content providerto limit the scope of potential products which may be featured in thepersonalized visual display. For example, each of content providers 106may be associated with a set of multiple products. In someimplementations, each of the products featured in the personalizedvisual display is associated with the same content provider (e.g., ofcontent providers 106). The content provider identified by contentprovider identification module 138 may define a set of products (e.g.,products associated with the identified content provider) from which theproducts featured in the personalized visual display may be selected.Products associated with a particular content provider may include, forexample, products that are offered for sale by the content provider,manufactured by the content provider, distributed by the contentprovider, promoted or advertised by the content provider, or otherwiseassociated or linked with the content provider. In some implementations,products may be associated with more than one content provider.

In some implementations, content provider identification module 138identifies the content provider associated with the previously-deliveredcontent item. The content provider associated with thepreviously-delivered content item may be identified using a content itemID or other information associated with the detected interaction. Byidentifying the content provider associated with thepreviously-delivered content item, content provider identificationmodule 138 may ensure that the personalized visual display is linked toa content item with which the user device has already interacted. Forexample, if a user device interacts with a content item associated witha particular content provider, each of the products featured in thepersonalized visual display may also be associated with the particularcontent provider.

Still referring to FIG. 2, memory 134 is shown to include a productselection module 140. Product selection module 140 may be configured toselect a plurality of products for inclusion in a personalized visualdisplay. In some implementations, product selection module 140 selectsthe plurality of products in response to a detected interaction betweenuser devices 108 and a previously-delivered content item (e.g., byinteraction detection module 136 and/or user devices 108). In someimplementations, product selection module 140 selects the plurality ofproducts from a set of multiple products associated with a particularcontent provider (e.g., the content provider identified by contentprovider identification module 138).

Product selection module 140 may select the plurality of multipleproducts according to product selection criteria. In someimplementations, the product selection criteria includes criteria forselecting products that are estimated to be most likely to invoke apurchase, a conversion event, a commercial interaction, or otherdesirable interaction by the user device (e.g., based on an establishedclick-through-rate, a predicted click-through-rate, etc.). In someimplementations, the product selection criteria includes criteria forselecting products that are most relevant (e.g., products that areestimated to be appealing, interesting, enticing, etc.) to a particularuser or user device (e.g., of user devices 108).

In some implementations, product selection module 140 identifiesproducts which are most relevant to a particular user or user deviceusing information specific to the particular user or user device (i.e.,“user-specific information”). User-specific information may include, forexample, user demographics, user preferences, user behavior data, userprofile data, user location data, user browsing history, deviceversion/type data, browser version/type data, or other informationrelating to a particular user or user device.

In some implementations, product selection module 140 identifiesproducts which are most relevant to a particular user or user deviceusing information relating to the detected interaction. Informationrelating to the detected interaction may include, for example,information relating to a resource (e.g., of resources 104) inconjunction with which the previously-delivered content item wasdisplayed (e.g., a URL of the particular resource having the contentslot in which the previously-delivered content item was displayed,keywords associated with the particular resource, etc.). If the contentslot is located on a search results page, information relating to thedetected interaction may include keywords associated with the searchquery that led to the search results page.

Product selection module 140 may identify products which are mostrelevant to a particular user or user device by comparing keywordsassociated with each of the products in the set of multiple productswith keywords associated with the particular user or user device and/orwith keywords associated with the detected interaction. Keywordsassociated with each of the products in the set of multiple products maybe specified by content providers 106, extracted from the productinformation, or otherwise identified using information associated witheach of the multiple products. Keywords associated with the particularuser or user device may be identified (e.g., generated, extracted,determined, etc.) using the user-specific information. Keywordsassociated with the detected interaction may be identified using theinformation relating to the detected interaction.

In some implementations, product selection module 140 outputs a list orother indication of a subset of the multiple products associated withthe identified content provider (e.g., the content provider identifiedby content provider identification module 138). The subset may includeless than all of the multiple products and may define a selection of themultiple products that will be included in the visual display. Forexample, product selection module 140 may select a predetermined numberof products (e.g., five products, ten products, fifty products, etc.).The predetermined number may be a static threshold, a dynamic threshold(e.g., based on the display sizes and/or available display space in thedisplay unit), a user-adjustable threshold, or an automatically-adjustedthreshold (e.g., based on a signal or parameter received from anothermemory module within memory 134 or from a separate device or system).

In some implementations, product selection module 140 outputs a rankingof the multiple products. The ranking may include some or all of themultiple products and may define a priority for including each of theproducts in the personalized visual display. For example, the topranking product may have the highest priority for inclusion in thepersonalized visual display whereas the lowest ranking product may havethe lowest priority for inclusion in the personalized visual display.The product rankings may be based on a relevancy score or other scoreassigned to the various products in determining which of the productsare most likely to appeal to the particular user or user device. Productselection module 140 may select a predetermined number of the topranking products or output the rankings for subsequent utilization byother memory modules of content server 112.

Still referring to FIG. 2, memory 134 is shown to include a productimage selection module 142. In some implementations, one or more of theplurality of products may be associated with multiple product images.The multiple product images may include, for example, images of theproduct having various resolutions or image sizes (e.g., a highresolution image, a medium resolution image, a low resolution image,etc.), images of the product from different perspectives (e.g., a frontperspective image, a rear perspective image, etc.), images of theproduct in different settings or uses, different versions of the product(e.g., different colors, different sizes, different model numbers,etc.), or other images of the product. Product image selection module142 may be configured to select a product image for each of theplurality of products selected by product selection module 140. Theproduct images selected by product image selection module 142 may be theproduct images included in the personalized visual display.

In some implementations, product image selection module 142 selectsproduct images based on the product rankings assigned by productselection module 140. For example, product image selection module 142may select a relatively larger image (e.g., having a larger displaysize) for a product with a relatively inclusion priority or relevancyscore and may select a relatively smaller image (e.g., having a smallerdisplay size) for a product with a relatively lower inclusion priorityor relevancy score.

In some implementations, the product images selected by product imageselection module 142 may be based on user-specific information (e.g.,information specific to the particular user or user device) and/orinformation relating to the detected interaction. For example, productimage selection module 142 may select images which are most relevant orestimated to be most appealing to a particular user (e.g., based onestablished user preferences or other user-specific information). Insome implementations, product image selection module 142 selects exactlyone image of each selected product for inclusion in the personalizedvisual display. In other implementations, product image selection module142 selects two or more images for each selected product.

Still referring to FIG. 2, memory 134 is shown to include a supplementalitem selection module 144. Supplemental item selection module 144 may beconfigured to select one or more supplemental items to include in thepersonalized visual display. The supplemental items may include, forexample, descriptive text (e.g., text describing one or more of theproduct images selected by product image selection module 142), call toaction text (“click here for more information,” “buy now,” etc.),information relating to special promotions or sales offers (e.g., “15%off everything with promo code ABC”), product coupons, store locationinformation (e.g., a map illustrating the location of a nearby store),store contact information (e.g., telephone numbers, website URL, emailaddress, etc.), or other types of information supplementing theplurality of product images selected by product selection module 142.The supplemental items may be included in the personalized visualdisplay along with the plurality of product images.

Still referring to FIG. 2, memory 134 is shown to include an arrangementdetermination module 146. Arrangement determination module 146 maygenerate an arrangement which uses some or all of the product imagesselected by product image selection module 142. In some implementations,arrangement determination module 146 generates an arrangement that usesone or more of the supplemental items selected by supplemental itemselection module 144. Determining an arrangement may include determininga display size and/or a display position for the selected images andsupplemental items in the personalized visual display.

In some implementations, arrangement determination module 146 isconfigured to determine an arrangement that fills the display spaceavailable in a display unit (e.g., if the personalized visual display ispresented in a fixed-size display unit). Arrangement determinationmodule 146 may resize, crop, add a border or padding, stretch, shrink,or otherwise adjust one or more of the plurality of product images andsupplemental items to achieve a particular display size. In otherimplementations, arrangement determination module 146 is configured todetermine an arrangement without considering horizontal spacelimitations or vertical space limitations. For example, the personalizedvisual display may be scrolled (e.g., vertically, horizontally, etc.) toallow any number of product images and/or supplemental items to bepresented, regardless of the display size of the display unit.

In some implementations, arrangement determination module 146 maypersonalize the display sizes and/or display positions of the selectedimages and supplemental items to a particular user or user device. Forexample, arrangement determination module 146 may assign a largerdisplay size or more prominent display position in the personalizedvisual display (e.g., top, middle, etc.) to product images correspondingto products that are estimated to be more relevant or more appealing tothe particular user to whom the personalized visual display will bepresented. For example, if the personalized visual display will bepresented to a user having a strong established interest in solid statehard drives, a product image of a solid state hard drive (if availablein the set of products associated with the identified content provider)may be assigned a larger display size or more prominent display positionthan images of other products in the personalized visual display.Arrangement determination module 146 may use the product rankings and/orrelevancy scores assigned by product selection module 140 (e.g.,rankings/scores based on user-specific information and/or informationrelating to the detected interaction) to determine which of theplurality of product images and supplemental items to feature mostprominently.

In some implementations, arrangement determination module 146 maydetermine an arrangement prior to product image selection module 142selecting product images for each of the selected products. The imagesselected by product image selection module 142 may be based on thedisplay size and/or display positions determined by arrangementdetermination module 146. For example, if arrangement determinationmodule 146 determines that an image for a selected product should have aparticular display size (e.g., 300 pixels by 200 pixels), product imageselection module 142 may select a product image for the selected producthaving at least the particular display size such that stretching orpadding is not required.

Still referring to FIG. 2, memory 134 is shown to include a visualdisplay generation module 148. Visual display generation module 148 maybe configured to generate a personalized visual display using some orall of the product images selected by product image selection module 142according to the arrangement determined by arrangement determinationmodule 146. In some implementations, generating the personalized visualdisplay includes rendering the personalized visual display. In someimplementations, generating the personalized visual display includesgenerating display data (e.g., rendering instructions) for transmissionto user devices 108. User devices 108 may then render the personalizedvisual display using the display data generated by visual displaygeneration module 148.

In some implementations, visual display generation module 148 generatesthe personalized visual display in response to an interaction betweenuser devices 108 and a previously-delivered content item. Thepersonalized visual display may be presented in the same window used topresent the previously-delivered content item, in a modal windowoverlay, in a separate window or tab, or any other display location. Anexample of a personalized visual display which may be generated byvisual display generation module 148 is described in greater detail withreference to FIG. 3.

Still referring to FIG. 2, memory 134 is shown to include a productdetails module 150. Product details module 150 may be configured tocause detailed product information to be presented via user devices 108.In some implementations, product details module 150 causes detailedproduct information to be presented via user devices 108 in response toan interaction with one of the product images in the personalized visualdisplay (e.g., clicking on or hovering over the product image, etc.).Detailed product information may include, for example, additional imagesof the product, product specifications, price, availability,closely-related products, product alternatives (e.g., alternative sizes,colors, models, versions, etc.), product features, purchasinginformation, descriptive text, or any other type of information relatingto a product presented in the personalized visual display.

In some implementations, product details module 150 causes the detailedproduct information to presented in a portion of the personalized visualdisplay (e.g., the “product details portion”). The product detailsportion may be, for example, a modal window, a separate page or view, aseparate window, or any other portion of the personalized visualdisplay. Clicking on one of the product images in the personalizedvisual display may cause the personalized visual display to presentadditional details relating to the product associated with the clickedimage. Product details module 150 may be configured to render theproduct details portion of the personalized visual display and/or togenerate display data used to render the product details portion.

In some implementations, product details module 150 presents thedetailed product information through a separate resource (e.g., awebpage owned or operated by content providers 106). Product detailsmodule 150 may embed a hyperlink into one or more of the product imagesin the personalized visual display. The hyperlink may cause user devices108 to navigate to a resource through which the product associated withthe image can be purchased or through which additional details of theassociated product are displayed.

In some implementations, visual product details module 150 adds anoverlay icon or text to one or more of the product images. The overlayicon or text (e.g., shown as a tag icon in FIG. 3) may include anembedded hyperlink different than the embedded hyperlink associated withthe product images. For example, clicking a product image may causeadditional details of the associated product to be displayed within thepersonalized visual display. Clicking an overlay icon may cause the userdevice to navigate to a webpage through which the product can bepurchased.

In some implementations, the additional details of the associatedproduct are displayed on the same webpage through which the product canbe purchased. In other implementations, the additional product detailsare displayed in the product details portion of the personalized visualdisplay. The product details portion may include a link to the webpagethrough which the product can be purchased. An example of a productdetails portion of the personalized visual display is described ingreater detail with reference to FIG. 4.

Referring now to FIG. 3, a drawing of a browser window 300 is shown,according to a described implementation. Browser window 300 is shown toinclude a content item 302. In some implementations, content item 302 isan advertisement. Content item 302 may be a display advertisement, animage advertisement, a Flash® advertisement, a video advertisement, atext-based advertisement, or any combination thereof. In otherimplementations, content item 302 may include other types of contentwhich serve various non-advertising purposes.

Content item 302 may be displayed in a content slot of an electronicresource (e.g., resources 104) and presented alongside other resourcecontent to user devices 108. In some implementations, content item 302may be presented in a content slot of a search results page in a webbrowser window (as shown in FIG. 3). In other implementations, contentitem 302 may be presented in any other type of electronic resource suchas other types of web pages (e.g., HTML web pages, PHP web pages,non-search results web pages, etc.), word processing documents, portabledocument format (PDF) documents, images, video, programming elements,interactive content, streaming video/audio sources, or other types ofelectronic information.

Content item 302 may be presented in a browser window or in any othertype of electronic resource (e.g., embedded into a word processingdocument, PDF document, video stream, etc.). In some implementations,content item 302 may be presented in a content slot. The content slotmay cause user devices 108 to request third-party content items such ascontent item 302 from content server 112 when first-party resourcecontent from the electronic resource is viewed, downloaded, rendered, orotherwise accessed.

Content item 302 may be associated with a particular content provider.For example, content item 302 may be associated with a content providerthat operates an electronics store, a furniture store, a house cleaningservice, a supermarket, a bank, an insurance company, or any other typeof content provider. As shown in FIG. 3, content item 302 may beassociated with a content provider that owns an electronics retailbusiness.

Content item 302 may be a content item which was previously delivered toa user device. For example, content item 302 may have been delivered touser devices 108 (e.g., by content server 112 or another content server)in response to a request for content from user devices 108 (e.g., uponviewing an electronic resource having a content slot).

In some implementations, content item 302 includes computer-readableinstructions (e.g., embedded software code, JavaScript®, ECMAScript®,etc.). The computer-readable instructions may cause user devices 108 topresent a personalized visual display upon an interaction with contentitem 302. An interaction with content item 302 may include displayingcontent item 302, hovering over content item 302, clicking on contentitem 302, viewing source information for content item 302, or any othertype of interaction between user devices 108 and content item 302.Interaction with a content item does not require explicit action by auser with respect to content item 302. In some implementations, animpression (e.g., displaying or presenting the content item) may qualifyas an interaction.

Referring now to FIG. 4, a drawing of a personalized visual display 400is shown, according to a described implementation. Personalized visualdisplay 400 may be presented in response to an interaction between userdevices 108 and content item 302. In some implementations, personalizedvisual display 400 may be generated by visual display generation module148, as described with reference to FIG. 2.

In some implementations, display 400 is presented in a display unit 402.Display unit 402 may be, for example, a modal window, a pop-up window, abrowser window, a browser tab, or any other area or location in whichpersonalized visual display 400 may be presented. In someimplementations, personalized visual display 400 has a first displaysize s₁ and display unit 402 has a second display size s₂ smaller thanthe first display size (e.g., s₂<s₁). Display unit 402 may be configuredto present a view of personalized visual display 400. The view ofpersonalized visual display 400 may be a portion of personalized visualdisplay 400 visible in display unit 402.

In some implementations, display unit 402 includes a scroll bar 404.Scroll bar 404 may be used to adjust the view of personalized visualdisplay 400 (e.g., by scrolling vertically, horizontally, etc.).Adjusting the view of personalized visual display 400 may control theportion of personalized visual display 400 that is visible in displayunit 402. Personalized visual display 400 may be closed or minimized byclicking “x” 456.

Still referring to FIG. 4, personalized visual display 400 is shown toinclude multiple product images 412-426 and supplemental items 428-430(collectively items 412-430). Product images 412-426 may be selected byproduct image selection module 142 and may feature products selected byproduct selection module 140. The products featured in product images412-426 may be selected from a set of products associated with aparticular content provider (e.g., the content provider associated withcontent item 302).

The products associated with product images 412-426 may be selected(e.g., by product selection module 140) according to product selectioncriteria. In some implementations, the product selection criteriaincludes criteria for selecting products that are estimated to be mostlikely to invoke a purchase, a conversion event, a commercialinteraction, or other desirable interaction by the particular user oruser device to which personalized visual display 400 is presented (e.g.,based on an established click-through-rate, a predictedclick-through-rate, etc.). In some implementations, the productselection criteria includes criteria for selecting products that aremost relevant (e.g., products that are estimated to be most appealing,interesting, enticing, etc.) to the particular user or user device.

Supplemental items 428-434 are shown to include a map 428, descriptivetext 430 and 432 and coupon 434. Map 428 may illustrate the location ofa nearby store or other place of interest associated with personalizedvisual display 400 (e.g., a store through which the products featured inpersonalized visual display 400 may be purchased). Descriptive text 430and 432 may be associated with product images 412 and 414, respectively.For example, descriptive text 430 may describe the product featured inproduct image 412 and descriptive text 432 may describe the productfeatured in product image 414. Coupon 434 may be a product coupon,special promotion, or sales offer applicable to some or all of theproducts featured in product images 412-426 (e.g., “15% off everythingwith promo code ABC”). Supplemental items may further include call toaction text (“click here for more information,” “buy now,” etc.), storecontact information (e.g., telephone numbers, website URL, emailaddress, etc.), or other types of information supplementing theplurality of product images 412-426.

Still referring to FIG. 4, product images 412-426 are shown havingvarious display sizes and display positions. The display sizes and/ordisplay positions of images 412-426 may be personalized to a particularuser or user device. For example, images featuring products estimated(e.g., by product selection module 140) to be most relevant or appealingto the particular user or user device may have a relatively largerdisplay size and/or more prominent display position in personalizedvisual display 400 (e.g., top, middle, etc.). Conversely, imagesfeaturing products estimated to be relatively less relevant or appealingto the particular user or user device items may have a relativelysmaller display size and/or a relatively less prominent display positionin personalized visual display 400. As shown in FIG. 4, product image412 and product image 414 have a larger display size than the remainingproduct images, indicating that the particular user or user device towhich personalized visual display 400 is to be presented may be morelikely to purchase the computer featured in product image 412 and thevideo camera featured in product image 414 than the products featured inthe remaining product images 416-426.

In some implementations, items 412-434 are displayed as a mosaic. Forexample, items 412-434 may be presented as a collection ofnon-overlapping tiles or icons. In other implementations, items 412-434may be displayed as overlapping tiles or icons (e.g., transparent orsemi-transparent tiles or icons, overlaid tiles or icons, nested tilesor icons, etc.), as part of an electronic book or catalog (e.g., aninterface having flippable “pages” on which items 412-434 aredisplayed), rendered as part of a user-interactive object (e.g., aninteractive two-dimensional or three-dimensional object which may bemanipulated or repositioned to view various items 412-434), or any othervisual display format.

Items 412-434 may be displayed in a compact format (e.g., with little tono empty space between adjacent items), in a loosely arranged format(e.g., with substantial padding, borders, and/or empty space betweenitems), or in a format having an intermediate display density. In someimplementations, some or all of product images 412-426 includedescriptive text identifying the featured products (e.g., “Camera,”“Copier,” “Scanner,” etc.). In other implementations product images412-426 do not include text identifying the featured products.

Referring now to FIG. 5, a product details portion 500 of personalizedvisual display 400 is shown, according to a described implementation.Product details portion 500 may be displayed in response to aninteraction with one of product images 412-426 (e.g., clicking on orhovering over the product image, etc.) in personalized visual display400. In some implementations, product details portion 500 is a modalwindow, a pop-up window, a separate page or view, a window, or any otherportion of personalized visual display 400.

Product details portion 500 is shown to include additional productimages 502 product specifications 504, price 506, descriptive text 508,and product image 512. Product images 502 may include, for example,images of the product having various resolutions or image sizes (e.g., ahigh resolution image, a medium resolution image, a low resolutionimage, etc.), images of the product from different perspectives (e.g., afront perspective image, a rear perspective image, etc.), images of theproduct in different settings or uses, different versions of the product(e.g., different colors, different sizes, different model numbers,etc.), or other images of the product. Product specifications 504, price506, and descriptive text 508 may provide additional details of theproduct (e.g., dimensions, weight, material composition, functionality,model number, etc.). Product image 512 may be the same as one of productimages 412-426, a higher resolution version of one of product images412-426, or an alternative image of the featured product.

Product details portion 500 may further include availabilityinformation, related products or services, product alternatives (e.g.,alternative sizes, colors, models, versions, etc.), accessories, productfeatures, purchasing information, or any other type of informationrelating to a product presented in personalized visual display 400. Thespecific types of product information included in product detailsportion 500 may vary based on the types of available or relevantinformation for particular products. For example, if the price of aparticular product is unknown or unavailable, price 406 may be omittedor replaced with an indication that price information is unavailable. Insome implementations, product details portion 500 may include additionalproduct details supplementing or replacing the various types of productdetails listed here (e.g., based on the class of product and/or relevantinformation pertaining to the product).

Referring now to FIGS. 4 and 5 together, in some implementations,product images 412-426 include an embedded hyperlink. The embeddedhyperlink may direct a user device to product details portion 500.Clicking on one of product images 412-426 in personalized visual display400 may cause product details portion 500 to appear and/or presentadditional details relating to the product associated with the clickedimage. For example, if a user clicks on product image 412, productdetails portion 500 may be displayed and may include product detailsrelating to the computer featured in product image 412. If a differentproduct image is clicked (e.g., product image 414), the information inproduct details portion 500 may be replaced with product detailsrelating to the product featured in the different product image (e.g.,product details relating to the video camera featured in product image414).

In some implementations, product details portion 500 is closed orminimized (e.g., by clicking “x” 514) before a new product image isselected in personalized visual display 400. In other implementations,product details portion 500 may be displayed continuously while a userbrowses and selects various product images 412-426.

In some implementations, product images 412-426 include overlay icons440-454. Overlay icons 450-454 are shown as a “tag” icon in FIG. 4.Overlay icons 440-454 may include an embedded hyperlink different thanthe embedded hyperlink associated with product images 412-426. Forexample, clicking one of product images 412-426 may cause additionaldetails of the featured product to be presented via product detailsportion 500, whereas clicking overlay icons 440-454 may cause the userdevice to navigate to a separate resource through which the product canbe purchased.

In other implementations, the embedded hyperlink links to a separateresource (e.g., other than product details portion 500). Clicking on oneor product images 412-426 in personalized visual display 400 may causeuser devices 108 to navigate to the separate resource. The separateresource may be, for example, a webpage owned or operated by contentproviders 106. The separate resource may include product detailsrelating to the product featured in the clicked image and/or allow auser to purchase the featured product.

In some implementations, the product details are displayed exclusivelyon the separate resource. In other implementations, the product detailsare presented exclusively on product details portion 500. In furtherimplementations, the product details may be presented on both productdetails portion 500 and the separate resource. In some implementations,product details portion 500 includes a link 510 to the separateresource. Clicking link 510 may cause the user device to navigate to awebpage or other resource through which additional product details maybe displayed.

Referring now to FIG. 6, a flowchart of a process 600 for generating apersonalized visual display of multiple products is shown, according toa described implementation. Process 600 may be implemented usingcomputer system 100. In some implementations, some or all of the stepsof process 600 may be performed by content server 112 (e.g., usingcommunications interface 120, processor 132, and memory modules136-150).

Process 600 is shown to include receiving product information for a setof multiple products and user information for a particular user or userdevice (step 602). Product information may include, for example, productimages (e.g., thumbnail images, low/medium/high resolution productimages, alternative product images, etc.), product details (e.g.,product specifications, price, availability, descriptive text,purchasing information, etc.), and/or other information associated witha set of multiple products. In some implementations, the set of multipleproducts may include only products associated with a single contentprovider.

User information may include, for example, user-specific information(e.g., user demographics, user preferences, user behavior data, etc.),contextual information (e.g., user location, web page context, recentpage views, etc.), keyword information (e.g., keywords associated with aparticular web page or search query, etc.), and/or other informationwhich may be used by content server 112 to select products which arerelevant or interesting to a particular user or user device (e.g.,products which are most likely to invoke a purchase or conversionevent).

In some implementations, step 602 includes storing the productinformation and/or user information in a data storage device. Theproduct information and user information may be stored locally (e.g.,within memory 134) or remotely (e.g., within data storage devices 110,etc.).

Still referring to FIG. 6, process 600 is shown to include selecting aplurality of the multiple products estimated to be most relevant to theparticular user or user device (step 604). In some implementations, step604 includes selecting a plurality of products from the set of multipleproducts according to product selection criteria. The product selectioncriteria may include criteria for selecting products that are mostrelevant to the particular user or user device. In some implementations,products that are most relevant to the particular user or user deviceinclude products that are estimated (e.g., by product selection module140) to be most appealing, most attractive, most interesting, and/ormost likely to invoke a purchase or conversion event from the particularuser or user device. In some implementations, step 604 is performed byproduct selection module 140, as described with reference to FIG. 2.

In some implementations, step 604 includes identifying products that aremost relevant to the particular user or user device. Such products maybe identified using the product information for the set of multipleproducts and the user information for the particular user or userdevice. For example, in some implementations, products that are mostrelevant to a particular user or user device may be identified bycomparing keywords associated with each of the products in the set ofmultiple products with keywords associated with the particular user oruser device Keywords associated with each of the products in the set ofmultiple products may be specified by content providers 106, extractedfrom the product information, or otherwise identified using informationassociated with each of the multiple products. Keywords associated withthe particular user or user device may be identified (e.g., generated,extracted, determined, etc.) using the user information.

In some implementations, step 604 includes selecting a subset of themultiple products in the set of multiple products. The subset mayinclude less than all of the multiple products and may define aselection of the multiple products that will be included in thepersonalized visual display. For example, step 604 may include selectinga predetermined number of products (e.g., five products, ten products,fifty products, etc.). The predetermined number may be a staticthreshold, a dynamic threshold (e.g., based on the display sizes and/oravailable display space in the display unit), a user-adjustablethreshold, or an automatically-adjusted threshold (e.g., based on asignal or parameter received from another memory module within memory134 or from a separate device or system).

In some implementations, step 604 includes ranking some or all of theproducts in the set of multiple products. The ranking may define apriority for including each of the products in the personalized visualdisplay. For example, the top ranking product may have the highestpriority for inclusion in the personalized visual display whereas thelowest ranking product may have the lowest priority for inclusion in thepersonalized visual display. The product rankings may be based on arelevancy score or other score assigned to the various products indetermining which of the products are most likely to appeal to theparticular user or user device. In some implementations, step 604includes selecting a predetermined number of the top ranking products.In some embodiments, step 604 includes storing the rankings forsubsequent utilization.

Still referring to FIG. 6, process 600 is shown to include generating apersonalized visual display including product images for multiple of theselected products (step 606). A plurality of the product images may bedisplayed concurrently in the personalized visual display. In someimplementations, step 606 includes determining an arrangement for thepersonalized visual display. Step 606 may be performed by visual displaygeneration module 148 and/or arrangement determination module 146 asdescribed with reference to FIG. 2. In some implementations, step 606 isperformed in response to an interaction between user devices 108 and apreviously-delivered content item.

Determining an arrangement may include determining a display size and/ora display position for the selected images in the personalized visualdisplay. In some implementations, step 606 includes personalizing thedisplay sizes and/or display positions of the selected images to aparticular user or user device. A larger display size or more prominentdisplay position in the personalized visual display (e.g., top, middle,etc.) may be assigned to product images corresponding to products thatare estimated to be more relevant or more appealing to the particularuser to whom the personalized visual display will be presented. Forexample, if the personalized visual display will be presented to a userhaving a strong established interest in solid state hard drives, aproduct image of a solid state hard drive (if available in the set ofproducts associated with the identified content provider) may beassigned a larger display size or more prominent display position thanimages of other products in the personalized visual display. Step 606may include using product rankings and/or relevancy scores (e.g.,rankings or scores which may have been assigned in step 604) todetermine which of the plurality of product images and supplementalitems to feature most prominently.

In some implementations, step 606 includes determining an arrangementthat fills the display space available in a display unit (e.g., if thepersonalized visual display is presented in a fixed-size display unit).Step 606 may include resizing, cropping, adding a border or padding,stretching, shrinking, or otherwise adjusting one or more of theplurality of product images to achieve a particular display size. Inother implementations, step 606 involves determining an arrangementwithout considering horizontal space limitations or vertical spacelimitations. For example, the personalized visual display may bescrolled (e.g., vertically, horizontally, etc.) to allow any number ofproduct images to be presented, regardless of the display size of thedisplay unit. Step 606 may include generating an arrangement that usessome or all of the product images selected by product image selectionmodule 142.

In some implementations, step 606 the personalized visual displayincludes one or more supplemental items. The supplemental items mayinclude, for example, descriptive text (e.g., text describing one ormore of the product images selected by product image selection module142), call to action text (“click here for more information,” “buy now,”etc.), information relating to special promotions or sales offers (e.g.,“15% off everything with promo code ABC”), product coupons, storelocation information (e.g., a map illustrating the location of a nearbystore), store contact information (e.g., telephone numbers, website URL,email address, etc.), or other types of information supplementing theplurality of product images. The supplemental items may be included inthe personalized visual display along with the plurality of productimages. Step 606 may include generating an arrangement that uses one ormore of the supplemental items selected by supplemental item selectionmodule 144.

In some implementations, step 606 includes rendering the personalizedvisual display. In some implementations, step 606 includes generatingdisplay data (e.g., rendering instructions) for transmission to userdevices 108. User devices 108 may then render the personalized visualdisplay using the display data generated in step 606. An example of apersonalized visual display which may be generated in step 606 (e.g.,personalized visual display 400) is described in greater detail withreference to FIG. 4.

Still referring to FIG. 6, process 600 is shown to include causing thepersonalized visual display to be presented via the user device (step608). In some implementations, step 608 includes sending display data tothe user device. The user device may render the display data to generatethe personalized visual display. The personalized visual display may bepresented in any type of display format including web pages (e.g., HTMLweb pages, PHP web pages, etc.), word processing documents, portabledocument format (PDF) documents, images, video, programming elements,interactive content, streaming video/audio sources, or other types ofelectronic information.

In some implementations, the personalized visual display is presented ina browser window (e.g., browser window 300). The personalized visualdisplay may be presented in the same window used to present thepreviously-delivered content item, in a modal window overlay, in aseparate window or tab, or any other display location.

Implementations of the subject matter and the operations described inthis specification may be implemented in digital electronic circuitry,or in computer software, firmware, or hardware, including the structuresdisclosed in this specification and their structural equivalents, or incombinations of one or more of them. Implementations of the subjectmatter described in this specification may be implemented as one or morecomputer programs, i.e., one or more modules of computer programinstructions, encoded on one or more computer storage medium forexecution by, or to control the operation of, data processing apparatus.Alternatively or in addition, the program instructions may be encoded onan artificially-generated propagated signal (e.g., a machine-generatedelectrical, optical, or electromagnetic signal) that is generated toencode information for transmission to suitable receiver apparatus forexecution by a data processing apparatus. A computer storage medium maybe, or be included in, a computer-readable storage device, acomputer-readable storage substrate, a random or serial access memoryarray or device, or a combination of one or more of them. Moreover,while a computer storage medium is not a propagated signal, a computerstorage medium may be a source or destination of computer programinstructions encoded in an artificially-generated propagated signal. Thecomputer storage medium may also be, or be included in, one or moreseparate components or media (e.g., multiple CDs, disks, or otherstorage devices). Accordingly, the computer storage medium is bothtangible and non-transitory.

The operations described in this disclosure may be implemented asoperations performed by a data processing apparatus on data stored onone or more computer-readable storage devices or received from othersources.

The term “client or “server” include all kinds of apparatus, devices,and machines for processing data, including by way of example aprogrammable processor, a computer, a system on a chip, or multipleones, or combinations, of the foregoing. The apparatus may includespecial purpose logic circuitry, e.g., a field programmable gate array(FPGA) or an application-specific integrated circuit (ASIC). Theapparatus may also include, in addition to hardware, code that createsan execution environment for the computer program in question (e.g.,code that constitutes processor firmware, a protocol stack, a databasemanagement system, an operating system, a cross-platform runtimeenvironment, a virtual machine, or a combination of one or more ofthem). The apparatus and execution environment may realize variousdifferent computing model infrastructures, such as web services,distributed computing and grid computing infrastructures.

The systems and methods of the present disclosure may be completed byany computer program. A computer program (also known as a program,software, software application, script, or code) may be written in anyform of programming language, including compiled or interpretedlanguages, declarative or procedural languages, and it may be deployedin any form, including as a stand-alone program or as a module,component, subroutine, object, or other unit suitable for use in acomputing environment. A computer program may, but need not, correspondto a file in a file system. A program may be stored in a portion of afile that holds other programs or data (e.g., one or more scripts storedin a markup language document), in a single file dedicated to theprogram in question, or in multiple coordinated files (e.g., files thatstore one or more modules, sub-programs, or portions of code). Acomputer program may be deployed to be executed on one computer or onmultiple computers that are located at one site or distributed acrossmultiple sites and interconnected by a communication network.

The processes and logic flows described in this specification may beperformed by one or more programmable processors executing one or morecomputer programs to perform actions by operating on input data andgenerating output. The processes and logic flows may also be performedby, and apparatus may also be implemented as, special purpose logiccircuitry (e.g., an FPGA or an ASIC).

Processors suitable for the execution of a computer program include, byway of example, both general and special purpose microprocessors, andany one or more processors of any kind of digital computer. Generally, aprocessor will receive instructions and data from a read-only memory ora random access memory or both. The essential elements of a computer area processor for performing actions in accordance with instructions andone or more memory devices for storing instructions and data. Generally,a computer will also include, or be operatively coupled to receive datafrom or transfer data to, or both, one or more mass storage devices forstoring data (e.g., magnetic, magneto-optical disks, or optical disks).However, a computer need not have such devices. Moreover, a computer maybe embedded in another device (e.g., a mobile telephone, a personaldigital assistant (PDA), a mobile audio or video player, a game console,a Global Positioning System (GPS) receiver, or a portable storage device(e.g., a universal serial bus (USB) flash drive), etc.). Devicessuitable for storing computer program instructions and data include allforms of non-volatile memory, media and memory devices, including by wayof example semiconductor memory devices (e.g., EPROM, EEPROM, and flashmemory devices; magnetic disks, e.g., internal hard disks or removabledisks; magneto-optical disks; and CD-ROM and DVD-ROM disks). Theprocessor and the memory may be supplemented by, or incorporated in,special purpose logic circuitry.

To provide for interaction with a user, implementations of the subjectmatter described in this specification may be implemented on a computerhaving a display device (e.g., a CRT (cathode ray tube), LCD (liquidcrystal display), OLED (organic light emitting diode), TFT (thin-filmtransistor), or other flexible configuration, or any other monitor fordisplaying information to the user and a keyboard, a pointing device,e.g., a mouse, trackball, etc., or a touch screen, touch pad, etc.) bywhich the user may provide input to the computer. Other kinds of devicesmay be used to provide for interaction with a user as well; for example,feedback provided to the user may be any form of sensory feedback (e.g.,visual feedback, auditory feedback, or tactile feedback), and input fromthe user may be received in any form, including acoustic, speech, ortactile input. In addition, a computer may interact with a user bysending documents to and receiving documents from a device that is usedby the user; for example, by sending web pages to a web browser on auser's client device in response to requests received from the webbrowser.

Implementations of the subject matter described in this disclosure maybe implemented in a computing system that includes a back-end component(e.g., as a data server), or that includes a middleware component (e.g.,an application server), or that includes a front-end component (e.g., aclient computer) having a graphical user interface or a web browserthrough which a user may interact with an implementation of the subjectmatter described in this disclosure, or any combination of one or moresuch back-end, middleware, or front-end components. The components ofthe system may be interconnected by any form or medium of digital datacommunication (e.g., a communication network). Examples of communicationnetworks include a LAN and a WAN, an inter-network (e.g., the Internet),and peer-to-peer networks (e.g., ad hoc peer-to-peer networks).

While this specification contains many specific implementation details,these should not be construed as limitations on the scope of anydisclosures or of what may be claimed, but rather as descriptions offeatures specific to particular implementations of particulardisclosures. Certain features that are described in this disclosure inthe context of separate implementations may also be implemented incombination in a single implementation. Conversely, various featuresthat are described in the context of a single implementation may also beimplemented in multiple implementations separately or in any suitablesubcombination. Moreover, although features may be described above asacting in certain combinations and even initially claimed as such, oneor more features from a claimed combination may in some cases be excisedfrom the combination, and the claimed combination may be directed to asubcombination or variation of a subcombination.

Similarly, while operations are depicted in the drawings in a particularorder, this should not be understood as requiring that such operationsbe performed in the particular order shown or in sequential order, orthat all illustrated operations be performed, to achieve desirableresults. In certain circumstances, multitasking and parallel processingmay be advantageous. Moreover, the separation of various systemcomponents in the implementations described above should not beunderstood as requiring such separation in all implementations, and itshould be understood that the described program components and systemsmay generally be integrated together in a single software product orpackaged into multiple software products embodied on one or moretangible media.

The features disclosed herein may be implemented on a smart televisionmodule (or connected television module, hybrid television module, etc.),which may include a processing circuit configured to integrate internetconnectivity with more traditional television programming sources (e.g.,received via cable, satellite, over-the-air, or other signals). Thesmart television module may be physically incorporated into a televisionset or may include a separate device such as a set-top box, Blu-ray orother digital media player, game console, hotel television system, andother companion device. A smart television module may be configured toallow viewers to search and find videos, movies, photos and othercontent on the web, on a local cable TV channel, on a satellite TVchannel, or stored on a local hard drive. A set-top box (STB) or set-topunit (STU) may include an information appliance device that may containa tuner and connect to a television set and an external source ofsignal, turning the signal into content which is then displayed on thetelevision screen or other display device. A smart television module maybe configured to provide a home screen or top level screen includingicons for a plurality of different applications, such as a web browserand a plurality of streaming media services (e.g., Netflix, Vudu, Hulu,etc.), a connected cable or satellite media source, other web“channels”, etc. The smart television module may further be configuredto provide an electronic programming guide to the user. A companionapplication to the smart television module may be operable on a mobilecomputing device to provide additional information about availableprograms to a user, to allow the user to control the smart televisionmodule, etc. In alternate embodiments, the features may be implementedon a laptop computer or other personal computer, a smartphone, othermobile phone, handheld computer, a tablet PC, or other computing device.

Thus, particular implementations of the subject matter have beendescribed. Other implementations are within the scope of the followingclaims. In some cases, the actions recited in the claims may beperformed in a different order and still achieve desirable results. Inaddition, the processes depicted in the accompanying figures do notnecessarily require the particular order shown, or sequential order, toachieve desirable results. In certain implementations, multitasking andparallel processing may be advantageous.

The construction and arrangement of the systems and methods as shown inthe various exemplary embodiments are illustrative only. Although only afew embodiments have been described in detail in this disclosure, manymodifications are possible (e.g., variations in sizes, dimensions,structures, shapes and proportions of the various elements, values ofparameters, mounting arrangements, use of materials, colors,orientations, etc.). For example, the position of elements may bereversed or otherwise varied and the nature or number of discreteelements or positions may be altered or varied. Accordingly, all suchmodifications are intended to be included within the scope of thepresent disclosure. The order or sequence of any process or method stepsmay be varied or re-sequenced according to alternative embodiments.Other substitutions, modifications, changes, and omissions may be madein the design, operating conditions and arrangement of the exemplaryembodiments without departing from the scope of the present disclosure.

The present disclosure contemplates methods, systems and programproducts on any machine-readable media for accomplishing variousoperations. The embodiments of the present disclosure may be implementedusing existing computer processors, or by a special purpose computerprocessor for an appropriate system, incorporated for this or anotherpurpose, or by a hardwired system. Embodiments within the scope of thepresent disclosure include program products comprising machine-readablemedia for carrying or having machine-executable instructions or datastructures stored thereon. Such machine-readable media can be anyavailable media that can be accessed by a general purpose or specialpurpose computer or other machine with a processor. By way of example,such machine-readable media can comprise RAM, ROM, EPROM, EEPROM, CD-ROMor other optical disk storage, magnetic disk storage or other magneticstorage devices, or any other medium which can be used to carry or storedesired program code in the form of machine-executable instructions ordata structures and which can be accessed by a general purpose orspecial purpose computer or other machine with a processor. Wheninformation is transferred or provided over a network or anothercommunications connection (either hardwired, wireless, or a combinationof hardwired or wireless) to a machine, the machine properly views theconnection as a machine-readable medium. Thus, any such connection isproperly termed a machine-readable medium. Combinations of the above arealso included within the scope of machine-readable media.Machine-executable instructions include, for example, instructions anddata which cause a general purpose computer, special purpose computer,or special purpose processing machines to perform a certain function orgroup of functions.

Although the figures show a specific order of method steps, the order ofthe steps may differ from what is depicted. Also two or more steps maybe performed concurrently or with partial concurrence. Such variationwill depend on the software and hardware systems chosen and on designerchoice. All such variations are within the scope of the disclosure.Likewise, software implementations could be accomplished with standardprogramming techniques with rule based logic and other logic toaccomplish the various connection steps, processing steps, comparisonsteps and decision steps.

What is claimed is:
 1. A system to reduce network requests via deliveryof combined data packages, comprising: a communications interface of aserver configured to receive, via a network, a first data feed includinga first plurality of data objects from a first content provider and asecond data feed including a second plurality of data objects from asecond content provider, the first plurality of data objects included inthe first data feed defined by the first content provider, each of thefirst plurality of data objects comprising an image; an interactiondetection component, a selection component, and an arrangementdetermination component executed by one or more processing circuits ofthe server to cause the server to: detect an interaction with a contentitem object displayed, in a frame on a first webpage, on a displaydevice of a computing device remote from the server, the content itemobject selected for display in accordance with a content selectionpolicy defined by the first content provider; responsive to thedetection of the interaction: identify the first data feed received fromthe first content provider; select, from the first plurality of dataobjects corresponding to the first content provider, a subset of dataobjects from the first plurality of data objects using a list of secondwebpages previously accessed via the computing device; rank each dataobject of the subset of data objects based on the list of secondwebpages previously accessed via the computing device; determine, basedon the rank of each data object of the subset of data objects, a sizeand a position for the image included in each data object of the subsetof data objects; construct an interactive customized graphical userinterface element for the subset of data objects selected using the listof second webpages previously accessed via the computing device, theinteractive customized graphical user interface element configured todisplay the image included in each data object of the subset of dataobjects at the size and the position of the image; transmit, to thecomputing device via the network, instructions to present theinteractive customized graphical user interface element, the interactivecustomized graphical user interface element configured to cause,responsive to detection of a second interaction by the computing devicewith a rendered data object of the subset of data objects displayedwithin the interactive customized graphical user interface element, thecomputing device to display an additional data object item correspondingto the rendered data object.
 2. The system of claim 1, wherein theserver is configured to: receive a request for content prior todetection of the interaction with the content item object; and providethe content item object responsive to the request.
 3. The system ofclaim 1, wherein the server is configured to receive a notification ofthe interaction, the interaction comprising a hover or a selectiondetected by an agent executed by the computing device.
 4. The system ofclaim 1, wherein the server is configured to: rank each data object ofthe subset of data objects using computing device-specific information;and construct the interactive customized graphical user interfaceelement for the subset of data objects using the computingdevice-specific information and the rank of each of the subset of dataobjects.
 5. The system of claim 1, wherein the server is configured to:determine an arrangement of the subset of data objects that includesmodifying at least one of the subset of data objects by at least one ofresizing, cropping, adding a border, padding, stretching, or shrinkingthe at least one of the subset of data objects.
 6. The system of claim1, wherein the server is configured to: determine an arrangement for theinteractive customized graphical user interface element based on a firstimage included in a first data object of the subset of data objectshaving a first size greater than a second size of a second imageincluded in a second data object of the subset of data objects;construct the interactive customized graphical user interface elementaccording to the determined arrangement; identify arrangement criteriacomprising criteria for arranging the first image included in the firstdata object and the second image of the second data object based onobject information and computing device-specific information; anddetermine the arrangement according to the identified arrangementcriteria.
 7. The system of claim 1, wherein the server is configured toprovide a modal window for the additional data object item in responseto the detection of the second interaction.
 8. The system of claim 1,wherein the server is configured to provide a map with the interactivecustomized graphical user interface element.
 9. A method of reducingnetwork requests via delivery of combined data packages, comprising:receiving, by a communications interface of a server via a network, afirst data feed including a first plurality of data objects from a firstcontent provider and a second data feed including a second plurality ofdata objects from a second content provider, the first plurality of dataobjects included in the first data feed defined by the first contentprovider, each of the first plurality of data objects comprising animage; detecting, by an interaction detection component executed by oneor more processing circuits of the server, an interaction with a contentitem object displayed, in a frame on a webpage, on a display device of acomputing device remote from the server, the content item objectselected for display in accordance with a content selection policydefined by the first content provider; responsive to detecting theinteraction: identifying, by a selection component executed by theserver, the first data feed received from the first content provider;selecting, by the selection component executed by the server, a subsetof data objects from the first plurality of data objects using a list ofsecond webpages previously accessed via the computing device; ranking,by the selection component executed by the server, each data object ofthe subset of data objects based on the list of second webpagespreviously accessed via the computing device; determining, by theselection component executed by the server, based on the ranking of eachdata object of the subset of data objects, a size and a position foreach image included in each data object of the subset of data objects;constructing, by the server, an interactive customized graphical userinterface element for the subset of data objects selected using the listof second webpages previously accessed via the computing device, theinteractive customized graphical user interface element configured todisplay the image included in each data object of the subset of dataobjects at the size and the position of the image; transmitting, by theserver to the computing device via the network, instructions to presentthe interactive customized graphical user interface element, theinteractive customized graphical user interface element configured tocause, responsive to detection of a second interaction by the computingdevice with a rendered data object of the subset of data objectsdisplayed within the interactive customized graphical user interfaceelement, the computing device to display an additional data object itemcorresponding to the rendered data object.
 10. The method of claim 9,comprising: receiving a request for content prior to detection of theinteraction with the content item object; and providing the content itemobject responsive to the request.
 11. The method of claim 9, comprisingreceiving a notification of the interaction, the interaction comprisinga hover or a selection detected by an agent executed by the computingdevice.
 12. The method of claim 9, comprising: ranking each data objectof the subset of data objects using computing device-specificinformation; and constructing the interactive customized graphical userinterface element for the subset of data objects using the computingdevice-specific information and the rank of each of the subset of dataobjects.
 13. The method of claim 9, comprising determining anarrangement of the subset of data objects that includes modifying atleast one of the subset of data objects by at least one of resizing,cropping, adding a border, padding, stretching, or shrinking the atleast one of the subset of data objects.
 14. The method of claim 9,comprising: determining an arrangement for the interactive customizedgraphical user interface element based on a first image included in afirst data object of the subset of data objects having a first sizegreater than a second size of a second image included in a second dataobject of the subset of data objects; construct the interactivecustomized graphical user interface element according to the determinedarrangement; identifying arrangement criteria comprising criteria forarranging the first image included in the first data object and thesecond image of the second data object based on object information andcomputing device-specific information; and determining the arrangementaccording to the identified arrangement criteria.
 15. The method ofclaim 9, comprising providing a modal window for the additional dataobject item in response to the detection of the second interaction. 16.The method of claim 9, comprising providing a map with the interactivecustomized graphical user interface element.
 17. The system of claim 1,wherein the server is further configured to: receive a hover interactionwith a first data object of the subset of data objects displayed by theinteractive customized graphical user interface element; and cause,responsive to the hover interaction, the computing device to display theadditional data object item corresponding to the first data object. 18.The method of claim 9, further comprising: receiving, by the server, ahover interaction with a first data object of the subset of data objectsdisplayed by the interactive customized graphical user interfaceelement; and causing, by the server, responsive to the hoverinteraction, the computing device to display the additional data objectitem corresponding to the first data object.